package com.woniuxy.rabbitmq79.consumer;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

/**
 * @Author zhangyong
 * @Date 2021/8/11 0011上午 11:26
 */
public class Productor {
    public static void main(String[] args) throws Exception {
        //1.创建连接工厂：创建连接
        ConnectionFactory factory = new ConnectionFactory();

        //2.设置连接参数
        factory.setHost("localhost");   //mq的ip
        factory.setUsername("guest");   //账号
        factory.setPassword("guest");   //密码
        factory.setVirtualHost("/");    //设置虚拟主机 不设置默认/

        //3.创建连接
        Connection connection = factory.newConnection();     //IO异常

        //4.创建通道
        Channel channel = connection.createChannel();

        //5.创建消息队列
        //参数1：队列的名字
        //参数2：是否持久化队列
        //参数3：是否排它，是否只允许一个消费者连接
        //参数4：是否自动删除这个队列
        //参数5:初始化参数（消息队列的长度，死信交换，消息溢出处理方式等。。。）
        channel.queueDeclare("consumer", true, false, false, null);

        //6.发送消息
        //参数1：路由信息
        //参数2：消息队列的名字
        //参数3：mq的原始数据   直接为null 消息持久化
        //参数4：消息
        for (int i = 0; i < 10; i++) {
            channel.basicPublish("", "consumer", null, "hello mq".getBytes());

        }

        //7.关闭资源
        channel.close();
        connection.close();

    }
}
